package main

import (
	"errors"
	"fmt"
	"net"
)

//定义对象

type World struct {
}

//绑定类方法

func (this *World) HelloWorld(name string, resp *string) error {

	*resp = name + " 你好！"
	//返回空则正确
	//return nil
	return errors.New("错误信息")
}

func main() {
	//1注册rpc服务，绑定对象方法
	/*err := rpc.RegisterName("hello", new(World))

	if err != nil {
		fmt.Println("注册rpc服务失败:", err)
		return
	}*/
	RegisterService(new(World))

	//2设置监听
	listener, err := net.Listen("tcp", "127.0.0.1:8800")
	if err != nil {
		fmt.Println("net.Listen失败:", err)
		return
	}
	//3建立连接
	fmt.Println("开始连接...")

	conn, err := listener.Accept()
	if err != nil {
		fmt.Println("listener.Accept失败:", err)
		return
	}
	defer conn.Close()
	fmt.Println("连接建立成功")
	//4绑定服务
	//rpc.ServeConn(conn)
	//使用jsonrpc
	//绑定服务器

}
